package com.gxl.butt.utils;

import com.alibaba.fastjson.JSONArray;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by cangya4 on 2017/4/27.
 */
public class FormatUtil {
    // 定义一个私有构造方法
    private FormatUtil() {

    }

    //定义一个静态私有变量(不初始化，不使用final关键字，使用volatile保证了多线程访问时instance变量的可见性，避免了instance初始化时其他变量属性还没赋值完时，被另外线程调用)
    private static volatile FormatUtil instance;

    //定义一个共有的静态方法，返回该类型实例
    public static FormatUtil getIstance() {
        // 对象实例化时与否判断（不使用同步代码块，instance不等于null时，直接返回对象，提高运行效率）
        if (instance == null) {
            //同步代码块（对象未初始化时，使用同步代码块，保证多线程访问时对象在第一次创建后，不再重复被创建）
            synchronized (FormatUtil.class) {
                //未初始化，则初始instance变量
                if (instance == null) {
                    instance = new FormatUtil();
                }
            }
        }
        return instance;
    }

    /**
     * JASONArray转List<int>
     * @param array
     * @return
     */
    public List<Integer> JASONArray2ListI(JSONArray array){
        List<Integer> result = new ArrayList<Integer>();
        for (int i=0;i<array.size();i++){
            result.add(array.getInteger(i));
        }
        return  result;
    }

    /**
     * e.g 2017-5-3 12:24:33 ==> 20170503
     * @param time
     * @return
     */
    public String timeFormate(String time){
        String[] listTime = time.split(" ")[0].split("-");
        String t0 = listTime[0];
        String t1 = listTime[1];
        String t2 = listTime[2];
        if (t1.length() == 1) {
            t1 = '0' + t1;
        }
        if (t2.length() == 1) {
            t2 = '0' + t2;
        }
        return t0+t1+t2;
    }

}
